Previous Book Contents Book Index Next

Inside Macintosh: 3D Graphics Programming With QuickDraw 3D /
Chapter 11 - Renderer Objects


Summary of Renderer Objects

C Summary

Constants

Renderer Types

#define kQ3RendererTypeWireFrame       Q3_OBJECT_TYPE('w','r','f','r')
#define kQ3RendererTypeGeneric         Q3_OBJECT_TYPE('g','n','r','r')
#define kQ3RendererTypeInteractive     Q3_OBJECT_TYPE('c','t','w','n')

Vendor IDs

#define kQAVendor_BestChoice           (-1)
#define kQAVendor_Apple                0

Engine IDs

#define kQAEngine_AppleHW              (-1)
#define kQAEngine_AppleSW              0

CSG Attribute Type

#define kQ3AttributeType_ConstructiveSolidGeometryID\
                                       Q3_OBJECT_TYPE('c','s','g','i')

CSG Object IDs

#define kQ3SolidGeometryObjA           0
#define kQ3SolidGeometryObjB           1
#define kQ3SolidGeometryObjC           2
#define kQ3SolidGeometryObjD           3
#define kQ3SolidGeometryObjE           4

CSG Equations

typedef enum TQ3CSGEquation {
   kQ3CSGEquationAandB                 = (int) 0x88888888,
   kQ3CSGEquationAandnotB              = 0x22222222,
   kQ3CSGEquationAanBonCad             = 0x2F222F22,
   kQ3CSGEquationnotAandB              = 0x44444444,
   kQ3CSGEquationnAaBorCanD            = 0x74747474
} TQ3CSGEquation;

Renderer Objects Routines

Creating and Managing Renderers

TQ3RendererObject Q3Renderer_NewFromType (
TQ3ObjectType rendererObjectType);
TQ3ObjectType Q3Renderer_GetType (
TQ3RendererObject renderer);
TQ3Status Q3Renderer_Sync(TQ3RendererObject renderer, 
TQ3ViewObject view);
TQ3Status Q3Renderer_Flush(TQ3RendererObject renderer, 
TQ3ViewObject view);

Managing Interactive Renderers

TQ3Status Q3InteractiveRenderer_GetPreferences (
TQ3RendererObject renderer, 
long *vendorID, 
long *engineID);
TQ3Status Q3InteractiveRenderer_SetPreferences (
TQ3RendererObject renderer, 
long vendorID, 
long engineID);
TQ3Status Q3InteractiveRenderer_GetCSGEquation (
TQ3RendererObject renderer, 
TQ3CSGEquation *equation);
TQ3Status Q3InteractiveRenderer_SetCSGEquation (
TQ3RendererObject renderer, 
TQ3CSGEquation equation);
TQ3Status Q3InteractiveRenderer_GetDoubleBufferBypass (
TQ3RendererObject renderer, 
TQ3Boolean *bypass);
TQ3Status Q3InteractiveRenderer_SetDoubleBufferBypass (
TQ3RendererObject renderer, 
TQ3Boolean bypass);

Errors and Warnings
kQ3ErrorUnknownStudioType 
kQ3ErrorAlreadyRendering 
kQ3ErrorStartGroupRange 
kQ3ErrorUnsupportedGeometryType 
kQ3ErrorInvalidGeometryType 
kQ3ErrorUnsupportedFunctionality 
kQ3WarningFunctionalityNotSupported 


Previous Book Contents Book Index Next

© Apple Computer, Inc.
11 JUL 1996